package com.gopay.common.cps.dao.wallet;

import java.util.List;
import java.util.Map;

import com.gopay.common.base.dao.BaseDAO;
import com.gopay.common.domain.dps.WaProduct;

/**
 * 
 * @author dps
 *
 */
public interface WaProductDao extends BaseDAO<WaProduct, Integer> {
	/**
	 * 根据商品类型获取商品列表 
	 * @param pType   商品类型：手机话费：01、手机流量费：02、加油卡：03
	 * @param show  是否显示下架商品   true=显示下架
	 * @return 商品列表 
	 */
	List<WaProduct> getProductByType(String pType,boolean show);
	/**
	 * 根据商品ID获取当前商品
	 * @param productId 商品ID
	 * @return 商品
	 */
	WaProduct getProductById(Integer productId);

	/**
	 * 根据商品类型、运营商、面值、供应商编码、是否展示、生效失效状态查询商品信息
	 * @param productType
	 * @param operator
	 * @param productAmt
	 * @param suppliersNo
	 * @param isShow
	 * @param validityStatus
	 * @param id
	 * @return
	 */
	public List<WaProduct> queryBy3Condition(String productType ,String operator ,String productAmt,String suppliersNo ,String isShow ,String validityStatus ,String id);
	/**
	 * 根据商品类型、运营商、 充值省份、使用范围、商品值、供应商编码、是否展示、、生效失效状态查询商品信息
	 * @param productType
	 * @param operator
	 * @param useRange
	 * @param rechargeProvince
	 * @param productValue
	 * @param suppliersNo
	 * @param isShow
	 * @param validityStatus
	 * @param id
	 * @return
	 */
	public List<WaProduct> queryBy6Condition(String productType ,String operator ,String useRange , String rechargeProvince ,String productValue,String suppliersNo ,String isShow ,String validityStatus,String id);
	
	/**
	 * 根据待生效ID查询已生效数据
	 * @param haveBecomeValidity
	 * @return
	 */
	public List<WaProduct> queryByHaveBecomeValidity(String haveBecomeValidity );
	
	/**
	 * 根据传人参数查询商品信息
	 * @param params key=字段名称，value=字段值
	 * @return
	 */
	public List<WaProduct> queryProductByCondtion(Map<String, Object> params);
}
